Software development is increasingly becoming complex resulting in the possibility for errors requiring costly solutions to correct. Software testing plays an important role in helping to ensure high software quality and to minimize errors. There are different kinds of testing in a software development process. For example, there is functional testing, performance testing, load or stress testing, robustness testing and installation testing. Functional testing includes unit testing, integration (or interaction) testing and acceptance testing. Here the term “unit” refers to a technique of testing only individual units of the software system and not the complete software system as a whole.